﻿namespace MSSqlSchemaDoc.UI.CommandLine.Configuration
{
    using System.IO;

    /// <summary>
    /// Holds the data for a specific connection.
    /// This class is used specifically for interaction with the configuration file.
    /// </summary>
    public class ConfigurationConnectionSetting
    {
        /// <summary>
        /// Gets or sets a value indicating whether scripting is enabled for the connection.
        /// </summary>
        public bool Enabled { get; set; }

        /// <summary>
        /// Gets or sets the scripting destination folder.
        /// </summary>
        public string ScriptingDestinationFolder { get; set; }

        /// <summary>
        /// Gets or sets the documentation destination folder.
        /// </summary>
        public string DocumentationDestinationFolder { get; set; }

        /// <summary>
        /// Gets or sets the documentation source folder.
        /// </summary>
        public string DocumentationSourceFolder { get; set; }

        /// <summary>
        /// Gets or sets the destination folder for the generated Html files.
        /// </summary>
        public string HtmlReportDestinationFolder { get; set; }

        /// <summary>
        /// Gets or sets the name to use to refer to the connection.
        /// </summary>
        public string FriendlyName { get; set; }

        /// <summary>
        /// Gets or sets the connection string to the data source.
        /// </summary>
        public string ConnectionString { get; set; }

        /// <summary>
        /// Gets or sets the name of the assembly containing the provider to use.
        /// </summary>
        public string ProviderAssembly { get; set; }

        /// <summary>
        /// Gets or sets the type of provider to use for the connection.
        /// This should be the full namespace and type name.
        /// </summary>
        public string ProviderType { get; set; }
    }
}
